package com.bbdjt.weixin.base.service;

import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 通用接口
 */
@Service
public interface BaseService<T> {

    T selectByKey(Object key);
    
    int insertSelective(T entity);
    
    int save(T entity);

    int delete(Object key);

    int updateAll(T entity);

    int updateNotNull(T entity);

    List<T> selectByExample(Object example);
    
    public int selectCount(T example);
    
    /**
     * 根据实体属性作为条件进行删除，查询条件使用等号 
     * 此操作杀伤力太强请谨慎使用
     * @param record
     * @return
     */
    public int deleteByWhere(T example);
}
